<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>用户确认功能演示</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .container {
            background: white;
            padding: 40px;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            max-width: 600px;
            text-align: center;
        }
        h1 {
            color: #333;
            margin-bottom: 20px;
        }
        .description {
            color: #666;
            line-height: 1.6;
            margin-bottom: 30px;
        }
        .demo-buttons {
            display: flex;
            gap: 15px;
            justify-content: center;
            flex-wrap: wrap;
            margin: 30px 0;
        }
        button {
            background: #4CAF50;
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            font-weight: bold;
            transition: all 0.3s;
            min-width: 150px;
        }
        button:hover {
            background: #45a049;
            transform: translateY(-2px);
        }
        button.danger {
            background: #f44336;
        }
        button.danger:hover {
            background: #da190b;
        }
        button.warning {
            background: #ff9800;
        }
        button.warning:hover {
            background: #e68900;
        }
        .info-panel {
            background: #e3f2fd;
            padding: 20px;
            border-radius: 8px;
            margin: 20px 0;
            border-left: 4px solid #2196F3;
        }
        .feature-list {
            text-align: left;
            margin: 20px 0;
        }
        .feature-list li {
            margin: 8px 0;
            color: #555;
        }
        .status {
            background: #f5f5f5;
            padding: 15px;
            border-radius: 8px;
            margin: 20px 0;
            font-family: monospace;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1>🔄 用户确认功能演示</h1>
        
        <div class="description">
            这个页面演示了自动刷新机制的用户确认功能。当内存使用率过高时，系统会显示一个用户友好的确认对话框，让用户选择是否立即刷新页面。
        </div>

        <div class="info-panel">
            <h3>✨ 功能特性</h3>
            <ul class="feature-list">
                <li>🎨 美观的现代化对话框设计</li>
                <li>⏰ 实时倒计时显示</li>
                <li>🔄 用户可选择立即刷新或稍后刷新</li>
                <li>⚠️ 清晰的数据丢失警告</li>
                <li>📱 响应式设计，适配各种屏幕</li>
            </ul>
        </div>

        <div class="demo-buttons">
            <button onclick="testConfirmationDialog()" class="warning">
                🧪 测试确认对话框
            </button>
            <button onclick="simulateMemoryWarning()" class="danger">
                ⚠️ 模拟内存警告
            </button>
            <button onclick="toggleUserConfirmation()">
                🔧 切换确认功能
            </button>
        </div>

        <div class="status" id="status">
            状态: 等待操作...
        </div>

        <div class="info-panel">
            <h3>📋 操作说明</h3>
            <p><strong>测试确认对话框:</strong> 直接显示确认对话框，体验用户界面</p>
            <p><strong>模拟内存警告:</strong> 模拟内存使用率过高的情况，触发完整的警告流程</p>
            <p><strong>切换确认功能:</strong> 启用/禁用用户确认功能</p>
        </div>
    </div>

    <!-- 引入自动刷新脚本 -->
    <script src="auto-refresh.js"></script>
    
    <script>
        // 更新状态显示
        function updateStatus() {
            const status = AutoRefresh.getStatus()
            const config = window.autoRefreshManager.config
            const statusDiv = document.getElementById('status')
            
            statusDiv.innerHTML = `
                监控状态: ${status.isMonitoring ? '✅ 运行中' : '❌ 已停止'} | 
                用户确认: ${config.askUserConfirmation ? '✅ 已启用' : '❌ 已禁用'}
            `
        }

        // 测试确认对话框
        function testConfirmationDialog() {
            console.log('测试确认对话框...')
            if (window.autoRefreshManager.showConfirmationDialog) {
                window.autoRefreshManager.showConfirmationDialog()
                updateStatus()
            } else {
                alert('确认对话框功能不可用')
            }
        }

        // 模拟内存警告
        function simulateMemoryWarning() {
            console.log('模拟内存警告...')
            // 临时降低阈值来触发警告
            const originalThreshold = window.autoRefreshManager.config.memoryThreshold
            window.autoRefreshManager.updateConfig({
                memoryThreshold: 0.01  // 设置为1%来立即触发
            })
            
            // 恢复原始阈值
            setTimeout(() => {
                window.autoRefreshManager.updateConfig({
                    memoryThreshold: originalThreshold
                })
            }, 1000)
            
            updateStatus()
        }

        // 切换用户确认功能
        function toggleUserConfirmation() {
            const config = window.autoRefreshManager.config
            const newValue = !config.askUserConfirmation
            
            AutoRefresh.updateConfig({
                askUserConfirmation: newValue
            })
            
            console.log(`用户确认功能已${newValue ? '启用' : '禁用'}`)
            updateStatus()
        }

        // 页面加载完成后初始化
        window.addEventListener('load', () => {
            console.log('用户确认功能演示页面已加载')
            updateStatus()
            
            // 每秒更新状态
            setInterval(updateStatus, 1000)
        })

        // 重写console.log以显示在页面上
        const originalLog = console.log
        console.log = function(...args) {
            originalLog.apply(console, args)
            // 可以在这里添加页面日志显示
        }
    </script>
</body>
</html>
